💡 AI 인사이트

🤖 AI가 여기에 결과를 출력합니다...

댓글 커뮤니티

쿠팡이벤트

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

검색

    로딩 중이에요... 🐣

    [코담] 웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트

    Pandas Part1 기초 입문 | ✅ 편저: 코담 운영자

    📖 데이터 분석의 시작, Pandas 완전 정복 - Part 1: Pandas 기초 입문


    ✨ 서론: Pandas란 무엇인가?

    데이터 분석과 머신러닝의 세계에서 Pandas는 표 형식 데이터 처리의 표준 라이브러리로 자리잡았습니다. 대규모 데이터셋을 다루는 일부터 Excel보다 강력한 데이터 처리까지, Pandas는 파이썬 데이터 과학의 핵심 도구입니다.

    📌 Pandas의 이름 유래: Panel Data + Python Data Analysis의 합성어

    ✅ Pandas가 필요한 이유

    • 대용량 데이터 처리 가능
    • 다양한 파일 포맷 지원 (CSV, Excel, JSON 등)
    • 데이터 정제, 분석, 시각화까지 한 번에 가능

    💡 실무 팁: Pandas는 Excel에 익숙한 사람에게 친숙한 문법을 제공하지만, 훨씬 더 큰 데이터셋과 복잡한 연산을 처리할 수 있습니다.


    🛠️ Pandas 설치 및 시작하기

    📥 설치 방법

    pip install pandas
    

    📦 기본 Import

    import pandas as pd
    

    pd라는 별칭은 Pandas 커뮤니티에서 표준처럼 사용됩니다.

    💡 실무 팁: Jupyter Notebook 환경에서는 import pandas as pd와 함께 %matplotlib inline을 추가해 시각화도 바로 확인할 수 있습니다.


    📌 Pandas의 주요 데이터 구조

    1️⃣ Series: 1차원 데이터 구조

    Series는 인덱스가 있는 배열입니다.

    import pandas as pd
    
    # 예제 데이터셋 (서울시 미세먼지 농도)
    pm10_levels = [45, 51, 60, 42, 38]
    series = pd.Series(pm10_levels, index=['월', '화', '수', '목', '금'])
    print(series)
    

    출력 예시:

    4551604238
    dtype: int64
    

    💡 실무 팁: 인덱스를 지정하면 데이터 레이블로 행을 빠르게 선택할 수 있어 가독성과 편의성이 올라갑니다.


    2️⃣ DataFrame: 2차원 데이터 구조

    DataFrame은 행(row)과 열(column)로 이루어진 표입니다.

    # 예제 데이터셋 (직원 정보)
    data = {
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Department': ['HR', 'Engineering', 'Marketing'],
        'Salary': [50000, 80000, 60000]
    }
    df = pd.DataFrame(data)
    print(df)
    

    출력 예시:

          Name   Department  Salary
    0    Alice           HR   50000
    1      Bob  Engineering   80000
    2  Charlie    Marketing   60000
    

    📂 데이터 불러오기 및 저장하기

    📥 CSV 파일 불러오기

    # 예제 데이터: employees.csv 파일 로드
    df = pd.read_csv('employees.csv')
    

    💾 CSV 파일 저장하기

    # 처리된 데이터를 새 CSV로 저장
    df.to_csv('processed_employees.csv', index=False)
    

    index=False를 추가하면 인덱스가 파일에 저장되지 않습니다.

    💡 실무 팁: 파일 크기가 매우 클 경우 pd.read_csv('file.csv', nrows=100)로 일부만 로드하여 데이터 구조를 먼저 확인하세요.


    🔍 데이터 탐색 기본기

    데이터 구조 확인

    df.shape       # (행, 열)
    df.info()      # 데이터 타입 및 결측치 확인
    df.describe()  # 수치형 데이터 요약 통계
    

    데이터 미리보기

    df.head()      # 상위 5개 행
    df.tail()      # 하위 5개 행
    

    💡 실무 팁: .sample(5)을 사용하면 랜덤 샘플링으로 데이터를 확인할 수 있어 이상치 파악에 유용합니다.


    🎯 간단한 데이터 선택과 슬라이싱

    컬럼 선택

    df['Name']           # 단일 컬럼
    

    여러 컬럼 선택

    df[['Name', 'Salary']]
    

    행 선택 (loc: 라벨 기반, iloc: 인덱스 기반)

    df.loc[1]    # 라벨 기반 선택
    df.iloc[1]   # 인덱스 기반 선택
    

    조건 필터링

    # 급여 60000 이상 직원 필터링
    df[df['Salary'] >= 60000]
    

    💡 실무 팁: 여러 조건은 &|를 사용해 결합하며 괄호로 묶어야 합니다.

    df[(df['Department'] == 'Engineering') & (df['Salary'] > 70000)]
    

    📌 마무리 및 다음 편 예고

    이번 Part 1에서는 Pandas의 기본 개념과 데이터 불러오기 및 탐색법을 다뤘습니다. 다음 Part 2에서는 데이터 전처리 및 변형을 집중적으로 배우며 실제 데이터를 더 깊이 있게 다룰 예정입니다.

    🚀 다음 글 미리보기: 결측치 처리, GroupBy, PivotTable 등 실무 데이터 처리 기술 총정리!


    TOP
    preload preload